package com.gali.mall.model.dao;

import com.gali.mall.model.pojo.Cart;
import com.gali.mall.model.vo.CartVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
@Mapper
public interface CartMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Cart record);

    int insertSelective(Cart record);

    Cart selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Cart record);

    int updateByPrimaryKey(Cart record);

    /**
     * 查询全部商品
     * @return
     */
    List<Cart> selectAll();

    /**
     * 批量更新选中商品
     * @param
     * @param selected
     * @return
     */
    int updateBrachSelected(Integer userId,Integer productId,Integer selected);

    /**
     * 查询商品是否存在
     * @param userId
     * @param productId
     * @return
     */
    Cart selectCart(@Param("userId") Integer userId,@Param("productId") Integer productId);

    /**
     * 查询用户购物车列表
     * @param userId
     * @return
     */
    List<CartVO> selectList(@Param("userId") Integer userId);
}